Introduction¶

Ce notebook est une version allégée de Patin_Clement_1_notebook_052023.ipynb pour la création d'une page web avec le package Voilà!.

L'objectif est de partager les résultats de la partie "gestion des valeurs manquantes" du nettoyage, ainsi que de la partie "exploration" d'une manière plus digeste.

Partie 2 - Nettoyage¶

Après la partie 1 et les premières étapes du nettoyage :

  • proposition d'application,
  • recentrage sur les produits français,
  • sélection des variables,
  • gestion des doublons,
  • gestion des outliers,

nous avons traité les valeurs manquantes de notre dataset :

P2.5. Traiter les valeurs manquantes¶

P2.5.1. Le dataset¶

P2.5.2. Création d'un dataframe de test pour les différentes techniques d'imputation¶

P2.5.2. Imputation des features catégorielles¶

P2.5.3. Imputation des features numériques¶

P2.5.3.1. Test KNN Imputer sur toutes les features en même temps¶

Plotting option :

P2.5.3.2. Test Iterative Imputer sur toutes les features en même temps¶

Plotting option :

P2.5.3.3. Test Iterative Imputer sur des groupes précis de features¶

Analyse bivariée - matrice des corrélations :

Plotting option :

P2.5.4. Résultat des opérations d'imputation¶

Partie 3 - Exploration¶

P3.1. Analyses univariées¶

code nutrition_score_fr_100g carbohydrates_100g fat_100g energy_100g sugars_100g saturated_fat_100g sodium_100g fiber_100g proteins_100g
count 6.266000e+04 62660.000000 62660.000000 62660.000000 62660.000000 62660.000000 62660.000000 62660.000000 62660.000000 62660.000000
mean 3.778870e+12 8.661986 28.502025 13.438469 1113.166833 13.206042 5.440283 0.457700 2.093248 7.769236
std 1.866745e+12 8.950293 27.465244 16.769059 767.156301 18.779868 8.443086 1.653692 4.116906 7.834819
min 1.150100e+04 -15.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 3.245390e+12 1.000000 4.448136 1.550000 433.000000 1.000000 0.300000 0.031496 0.000000 1.900000
50% 3.333160e+12 8.000000 15.586146 7.000000 1039.000000 4.000000 2.000000 0.222441 0.775000 6.000000
75% 3.700215e+12 15.000000 55.000000 21.000000 1644.000000 17.000000 7.500000 0.492126 2.600000 10.900000
max 9.900000e+12 40.000000 100.000000 100.000000 3700.000000 100.000000 100.000000 83.000000 100.000000 100.000000

P3.2. - Analyse bivariée - pairplot¶

P3.3. Analyse bivariée - ANOVA sur 'nutrition_score_fr_100g ~ pnns_groups_1'¶

Postulats :

  • les distributions des résiduels associées à chaque modalité de "pnns_groups_1" sont normales
  • ces distributions ont la même variance
  • les données de chaque distributions sont indépendantes

Hypothèses :

  • H0 : les distributions sont similaires (leurs moyennes empiriques sont identiques)
  • H1 : au moins une distribution est différente

P3.3.1. ANOVA - premier essai¶

Vérification postulats - normalité¶

Vérification postulats - homogénéité variances¶

Nutri_variance
pnns_groups_1
Beverages 48.889357
Cereals and potatoes 45.983866
Composite foods 34.551479
Fat and sauces 44.081449
Fish meat eggs 70.681261
Fruits and vegetables 21.891621
Milk and dairy products 48.738368
Salty snacks 37.122010
Sugary snacks 43.132819
LeveneResult(statistic=461.88072523891805, pvalue=0.0)

P3.3.2. ANOVA - second essai¶

Échantillonage pour avoir des tailles de groupes homogènes - impact sur les distributions ?¶

P3.3.3. ANOVA - interprétation¶

Sum_of_Squares Degrees_Freedom Mean_Square F_statistic Critical_F F_test_p_value Eta_Square
Model 8.569007e+05 8.0 107112.583195 2457.721728 1.938771 0.0 0.432547
Residual_Error 1.124156e+06 25794.0 43.582063 NaN NaN NaN NaN
Total 1.981056e+06 25802.0 NaN NaN NaN NaN NaN

P3.4. Analyse multivariée - ACP¶

P3.4.1. ACP - Part de dispersion expliquée¶

32%23%15%12%9%5%F1F2F3F4F5F60%20%40%60%80%100%
Eboulis des valeurs propresComposante principaleValeurs propres - variance expliquée55%70%82%91%96%
plotly-logomark

P3.4.2. ACP - corrélations composantes / variables initiales¶

P3.4.3. ACP - cercle des corrélations¶

F1 (32.2%) F2 (23.1%) F3 (14.8%) F4 (12.1%) F5 (9.1%) F6 (5.1%)
carbohydrates_100g 0.173827 0.651534 0.035044 0.005298 0.026228 4.472928e-02
fat_100g 0.697732 0.176723 0.033686 0.000041 0.022044 1.625139e-02
energy_100g 0.904021 0.004762 0.004577 0.000092 0.005545 6.567133e-02
sugars_100g 0.137462 0.596905 0.027217 0.023230 0.019377 1.460638e-01
saturated_fat_100g 0.590833 0.139499 0.057315 0.000028 0.012896 1.033630e-01
sodium_100g 0.000980 0.043810 0.072139 0.876743 0.006333 7.813386e-08
fiber_100g 0.036086 0.030004 0.595198 0.047092 0.275927 1.454740e-02
proteins_100g 0.038912 0.207293 0.357695 0.014949 0.361921 1.815044e-02

P3.4.4. ACP - Projection sur plans principaux¶

brute :

avec un code couleur par catégorie de "pnns_groups_1" :

Partie 4 - Résultats¶

Comment se répartissent nos produits ? distributions de "pnns_groups_1" ou "pnns_groups_2" le long de nos composantes¶

3.8
−0.9
BeveragesCereals and potatoesComposite foodsFat and saucesFish meat eggsFruits and vegetablesMilk and dairy productsSalty snacksSugary snacks010002000300040005000600070008000
Distribution de pnns_groups_1 pour F1 compris entre -2.8 et 1.0pnns_groups_1count
plotly-logomark